﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using HA.ModFlow.Domain.DomainLayer;

namespace HA.ModFlow.Controls
{

    /// <summary>
    /// 网格辅助定义类，帮助定义Griddata
    /// </summary>
    public class GridDefinition
    {
        public GridDefinition()
        {

           

        
        }


        public GridDefinition(GridConfig config)
        {
            this._config = (GridConfig)config.Clone();



        }


        GridConfig _config;

        public GridConfig Config
        {
            get { return _config; }
            
        }

     
   

     

        //bool _isRefinedPointMode=false;

        //public bool IsRefinedPointMode
        //{
        //    get { return _isRefinedPointMode; }
        //    set { _isRefinedPointMode = value; }
        //}



        //double _orgX;

        //public double OrgX
        //{
        //    get { return _orgX; }
        //    set { _orgX = value; }
        //}

        //double _orgY;

        //public double OrgY
        //{
        //    get { return _orgY; }
        //    set { _orgY = value; }
        //}

        //double _orgZ;

        //public double OrgZ
        //{
        //    get { return _orgZ; }
        //    set { _orgZ = value; }
        //}

        //double _rotate;

        //public double Rotate
        //{
        //    get { return _rotate; }
        //    set { _rotate = value; }
        //}

        //double _lengthX;

        //public double LengthX
        //{
        //    get { return _lengthX; }
        //    set { _lengthX = value; }
        //}

        //double _lengthY;

        //public double LengthY
        //{
        //    get { return _lengthY; }
        //    set { _lengthY = value; }
        //}

        //double _lengthZ;

        //public double LengthZ
        //{
        //    get { return _lengthZ; }
        //    set { _lengthZ = value; }
        //}

        //int _cellX;

        //public int CellX
        //{
        //    get { return _cellX; }
        //    set { _cellX = value; }
        //}

        //int _cellY;

        //public int CellY
        //{
        //    get { return _cellY; }
        //    set { _cellY = value; }
        //}

        //int _cellZ;

        //public int CellZ
        //{
        //    get { return _cellZ; }
        //    set { _cellZ = value; }
        //}


      


        //double _biasX=1.0;

        //public double BiasX
        //{
        //    get { return _biasX; }
        //    set { _biasX = value; }
        //}
        //double _biasY=1.0;

        //public double BiasY
        //{
        //    get { return _biasY; }
        //    set { _biasY = value; }
        //}

        //double _biasZ=1.0;

        //public double BiasZ
        //{
        //    get { return _biasZ; }
        //    set { _biasZ = value; }
        //}





        //bool _isUseBLX = false;

        //public bool IsUseBLX
        //{
        //    get { return _isUseBLX; }
        //    set { _isUseBLX = value; }
        //}
        //bool _isUseBLY = false;

        //public bool IsUseBLY
        //{
        //    get { return _isUseBLY; }
        //    set { _isUseBLY = value; }
        //}
        //bool _isUseBLZ = false;

        //public bool IsUseBLZ
        //{
        //    get { return _isUseBLZ; }
        //    set { _isUseBLZ = value; }
        //}


        //double _baseCellSizeX=10;

        //public double BaseCellSizeX
        //{
        //    get { return _baseCellSizeX; }
        //    set { _baseCellSizeX = value; }
        //}
        //double _baseCellSizeY=10;

        //public double BaseCellSizeY
        //{
        //    get { return _baseCellSizeY; }
        //    set { _baseCellSizeY = value; }
        //}
        //double _baseCellSizeZ=4;

        //public double BaseCellSizeZ
        //{
        //    get { return _baseCellSizeZ; }
        //    set { _baseCellSizeZ = value; }
        //}


        //double _limitCellSizeX=50;

        //public double LimitCellSizeX
        //{
        //    get { return _limitCellSizeX; }
        //    set { _limitCellSizeX = value; }
        //}
        //double _limitCellSizeY=50;

        //public double LimitCellSizeY
        //{
        //    get { return _limitCellSizeY; }
        //    set { _limitCellSizeY = value; }
        //}
        //double _limitCellSizeZ=20;

        //public double LimitCellSizeZ
        //{
        //    get { return _limitCellSizeZ; }
        //    set { _limitCellSizeZ = value; }
        //}

      






        public GridData GetNewGridData()
        {
            GridData gd=new GridData (this._config);


            ///当是refinedpointmode时

            //if (this._isRefinedPointMode)
            //{

            //    gd = new GridData(this.CellY, this.CellX, this.CellZ, this._lengthX, this.LengthY, this.LengthZ, this.OrgX, this.OrgY, this.OrgZ, this.Rotate);


            //}

            //else
            //{

            //    gd = new GridData(this.CellY, this.CellX, this.CellZ, this._lengthX, this.LengthY, this.LengthZ, this.OrgX, this.OrgY, this.OrgZ, this.Rotate);

 
            //}




            return gd;
 
        }
        
    }
}
